#元组（，，，，）
# #定义元组
# tup=(1,2,3)
# print(type(tup))
# #定义一个元素的元组的时候要加逗号
# tup2=(1,)
# #直接逗号
# tup3=1,2,3
# #元组的访问,元组是有序的
# print(tup[0])
#元组是不可变的 tup[0]=0  错误,主要是对数据的保护但是可通过append增加元素
#列表生成式
# lun=[i*2 for i in range(1,11)]
# print(lun)
#生成器推导式:效率高
# lun=(i*2 for i in range(1,11))
# print(lun)
# print(next(lun))
# print(lun.__next__())

#字典
#创建字典{键:值，键:值},几种方式
# dicAreas = {'俄罗斯':1777.5,'加拿大':997.3,'中国':960.2}
# print(dicAreas)
#
# items=(('俄罗斯',1777.5),('加拿大',997.3),('中国',960.2))
# dicAreas1 = dict(items)
# print(dicAreas1)
#
# keys = ['俄罗斯','加拿大','中国']
# values = [1777.5,997.3,960.2]
# dicAreas2=dict(zip(keys,values))
# print(dicAreas2)
#
# dicAreas3 = dict(俄罗斯=1707.5)
# print(dicAreas3)
#
# print(dict())#创建空字典

#字典的访问，如果键不存在报错
#键具有唯一性
# dicAreas = {'俄罗斯':1777.5,'加拿大':997.3,'中国':960.2}
# print(dicAreas['俄罗斯'])  #无序的  键必须是不可变的类型
# #使用get方法访问不存在返回0
# print(dicAreas.get('俄罗斯'))

#修改字典：可变的,如果键存在则修改，不存在则添加
# dicAreas['中国'] = 1000
# print(dicAreas)
# dicAreas['日本'] = 1
# print(dicAreas)


#字典的删除,不存在则报错
# dicAreas = {'俄罗斯':1777.5,'加拿大':997.3,'中国':960.2}
# del dicAreas['俄罗斯'] #删除键值对
# dicAreas.pop('加拿大')
# dicAreas.pop('日本','找不到')    #删除键，如果不存在返回’找不到‘
# print(dicAreas.pop('日本','找不到'))
# print(dicAreas.popitem())    #随机删除，返回键值对的元组
# dicAreas.clear()          #清空字典变量

#字典的遍历
# dicAreas = {'俄罗斯':1777.5,'加拿大':997.3,'中国':960.2}
# print(dicAreas.keys())
# print(dicAreas.values())
# for i in dicAreas.keys():
#     print(i,dicAreas[i])
#
# #元组的遍历
# print(dicAreas.items())
# for i,k in dicAreas.items():
#     print("{}的面积是{}万平方公里".format(i,k))
# #判断
# print('俄罗斯' in dicAreas)
# print(1707.5 in dicAreas.values())

#字典的排序
dicAreas = {'俄罗斯':1777.5,'加拿大':997.3,'中国':960.2}
sorted(dicAreas)
for i in sorted(dicAreas):
        print(i,dicAreas[i])
#对数值排序
for i,k in dicAreas.items():
     i,k=k,i


